package w83a.w83aDAO;


import java.util.ArrayList;
import java.util.List;

import w83a.util.jdbc.W83aDataBase;
import w83a.w83aBeans.W83aDelegadosBean;
import w83a.w83aBeans.W83aDocBean;
import w83a.w83aBeans.W83aIncidenciasSubsanacionCambioBean;
import w83a.w83aBeans.W83aNuevaIncidenciasBean;
import w83a.w83aDAO.w83aConstantesBD.W83aDelegadosBD;
import w83a.w83aDAO.w83aConstantesBD.W83aIncidenciasDocsBD;
import w83a.w83aDAO.w83aConstantesBD.W83aIncidenciasTipoSustitucionBD;
import w83a.w83aDAO.w83aConstantesBD.W83aIncidenciasVistaBD;
import w83a.w83aDAO.w83aConstantesBD.W83aMigracionBD;
import w83a.w83aDAO.w83aConstantesBD.W83aSindicatosBD;
import w83a.w83aDAO.w83aConstantesBD.W83aSubsanacionesBD;
import w83a.w83aUtilidadesComunes.W83aClsConstantes;
import w83a.w83aUtilidadesComunes.W83aDateUtil;


// TODO: Auto-generated Javadoc
/**
 * The Class W83aIncidenciasDAO.
 */
public class W83aIncidenciasDAO implements W83aIIncidenciasDAO {
	
	
	/* (non-Javadoc)
	 * @see w83a.w83aDAO.W83aIMantenimientosDAO#detalleIncidencias(w83a.w83aBeans.W83aNuevaIncidenciasBean)
	 */
	public java.util.List detalleIncidencias(w83a.w83aBeans.W83aNuevaIncidenciasBean param) throws Exception{
		StringBuffer strSql = new StringBuffer(W83aClsConstantes.CUARENTA);//NOPMD
		List params = new ArrayList();
		
			strSql.append("SELECT ");
			strSql.append("DISTINCT(");
			strSql.append(W83aIncidenciasVistaBD.numacta).append("), ");
			strSql.append("TO_CHAR(");
			strSql.append(W83aIncidenciasVistaBD.fentrada).append(",?) AS ").append(W83aIncidenciasVistaBD.fentrada);
			strSql.append(", ");
			strSql.append("TO_CHAR(");
			strSql.append(W83aIncidenciasVistaBD.fregistro).append(",?) AS ").append(W83aIncidenciasVistaBD.fregistro);
			strSql.append(", ");
			strSql.append("TO_CHAR(");
			strSql.append(W83aIncidenciasVistaBD.fvalidacion).append(",?) AS ").append(W83aIncidenciasVistaBD.fvalidacion);
			strSql.append(", ");
			params.add(W83aDateUtil.getInstance().devolverFormatoIdioma(param.getIdioma()));
			params.add(W83aDateUtil.getInstance().devolverFormatoIdioma(param.getIdioma()));
			params.add(W83aDateUtil.getInstance().devolverFormatoIdioma(param.getIdioma()));
			strSql.append(W83aIncidenciasVistaBD.tipsolicitante).append(", ");
			strSql.append(W83aIncidenciasVistaBD.nomsolicitante).append(", ");
			strSql.append(W83aIncidenciasVistaBD.tipincidencia).append(", ");
			strSql.append(W83aIncidenciasVistaBD.tipincidencia_es).append(", ");
			strSql.append(W83aIncidenciasVistaBD.tipincidencia_eu).append(", ");
			strSql.append(W83aIncidenciasVistaBD.territorioincidencias).append(", ");
			strSql.append(W83aIncidenciasVistaBD.anyoincidencias).append(", ");
			strSql.append(W83aIncidenciasVistaBD.numincidenciasencillocompleto).append(", ");
			strSql.append(W83aIncidenciasVistaBD.fentrada).append(", ");
			strSql.append(W83aIncidenciasVistaBD.numreg).append(", ");
			strSql.append(W83aIncidenciasVistaBD.tipsolicitante).append(", ");
			strSql.append(W83aIncidenciasVistaBD.dnisolicitante).append(", ");
			strSql.append(W83aIncidenciasVistaBD.nomsolicitante).append(", ");
			strSql.append(W83aIncidenciasVistaBD.observaciones).append(", ");
			strSql.append(W83aIncidenciasVistaBD.nactacompleto).append(", ");
			strSql.append(W83aIncidenciasVistaBD.anyoacta).append(", ");
			strSql.append(W83aIncidenciasVistaBD.NUMACTAPARSENCILLOCOMPLETO).append(", ");
			strSql.append(W83aIncidenciasVistaBD.ANYOACTASPARCIAL).append(", ");
			strSql.append(W83aIncidenciasVistaBD.versionActa).append(", ");
			strSql.append(W83aIncidenciasVistaBD.numRegDef).append(", ");
			strSql.append(W83aIncidenciasVistaBD.fechaRegDef).append(", ");
			strSql.append("TO_CHAR(");
			strSql.append(W83aIncidenciasVistaBD.fechaBaja).append(",?) AS ").append(W83aIncidenciasVistaBD.fechaBaja);
			strSql.append(", ");
			params.add(W83aDateUtil.getInstance().devolverFormatoIdioma(param.getIdioma()));
			if(W83aClsConstantes.CONSTANTE_CASTELLANO.equals(param.getIdioma())){
				strSql.append(W83aIncidenciasVistaBD.tipincidencia_es).append(" as ").append(W83aIncidenciasVistaBD.tipincidencia_es).append(", ");
			}else{
				strSql.append(W83aIncidenciasVistaBD.tipincidencia_eu).append(" as ").append(W83aIncidenciasVistaBD.tipincidencia_es).append(", ");
			}
			if(W83aClsConstantes.CONSTANTE_CASTELLANO.equals(param.getIdioma())){
				strSql.append(W83aIncidenciasVistaBD.tipsolicitante_es).append(" as ").append(W83aIncidenciasVistaBD.tipsolicitante_es).append(", ");
			}else{
				strSql.append(W83aIncidenciasVistaBD.tipsolicitante_eu).append(" as ").append(W83aIncidenciasVistaBD.tipsolicitante_es).append(", ");
			}
			strSql.append(W83aIncidenciasVistaBD.flagvalidada);
		strSql.append(" FROM w83b.").append(W83aIncidenciasVistaBD.incidenciasView);
		
		strSql.append(" WHERE ");
		
		//NÚMERO DE INCIDENCIA
			strSql.append(" ").append(W83aIncidenciasVistaBD.territorioincidencias).append(" = ?");
			strSql.append(" and ");
			params.add(param.getIncidenciaTerritorio());
			strSql.append(" ").append(W83aIncidenciasVistaBD.anyoincidencias).append(" = ?");
			strSql.append(" and ");
			params.add(Integer.valueOf(param.getIncidenciaAnyo()));
			strSql.append(" ").append(W83aIncidenciasVistaBD.nincidencias).append(" = ?");
			params.add(Integer.valueOf(param.getIncidenciaNumero()));
		//fin NÚMERO DE INCIDENCIA
		
		
		return W83aDataBase.executeQuery(strSql.toString(),params,W83aNuevaIncidenciasBean.class,param.getUsuarioBean(), param.getIdioma());
	}
public java.util.List obtenerDocumentosIncidencia(w83a.w83aBeans.W83aNuevaIncidenciasBean param) throws Exception{
		
		StringBuffer strSql = new StringBuffer(W83aClsConstantes.CUARENTA);
		List params = new ArrayList();
		
		strSql.append("SELECT ");
		strSql.append(W83aIncidenciasDocsBD.id_doc_064_vista).append(", ");
		strSql.append(W83aIncidenciasDocsBD.nomb_docu_064_vista).append(", ");
		strSql.append(W83aIncidenciasDocsBD.c_territ_064_vista).append(", ");
		strSql.append(W83aIncidenciasDocsBD.ano_incidencia_064_vista).append(", ");
		strSql.append(W83aIncidenciasDocsBD.n_incidencia_064_vista).append(", ");
		strSql.append(W83aIncidenciasDocsBD.tp_doc_064_vista).append(", ");
		strSql.append(W83aIncidenciasDocsBD.desc_cas_069_vista).append(", ");
		strSql.append(W83aIncidenciasDocsBD.desc_eus_069_vista).append(", ");
		strSql.append(W83aIncidenciasDocsBD.desc_cas_052_vista).append(", ");
		strSql.append(W83aIncidenciasDocsBD.desc_eus_052_vista).append(", ");
		strSql.append(W83aIncidenciasDocsBD.desc_cas_012_vista).append(", ");
		strSql.append(W83aIncidenciasDocsBD.desc_eus_012_vista).append(", ");
		strSql.append(W83aIncidenciasDocsBD.num_reg_064_vista).append(", to_char(");
		strSql.append(W83aIncidenciasDocsBD.f_reg_064_vista).append(",?) as ").append(W83aIncidenciasDocsBD.f_reg_064_vista).append(", ");
		params.add(W83aDateUtil.getInstance().devolverFormatoIdioma(param.getIdioma()));
		strSql.append(W83aIncidenciasDocsBD.usuario_064_vista);

		strSql.append(" FROM w83b.").append(W83aIncidenciasDocsBD.docsIncidenciasVista);
		
		strSql.append(" WHERE ").append(W83aIncidenciasDocsBD.c_territ_064_vista).append(" = ?");
		strSql.append(" AND ");
		strSql.append(W83aIncidenciasDocsBD.ano_incidencia_064_vista).append(" = ?");
		strSql.append(" AND ");
		strSql.append(W83aIncidenciasDocsBD.n_incidencia_064_vista).append(" = ?");
		
		params.add(param.getIncidenciaTerritorio());		
		params.add(new Integer(param.getIncidenciaAnyo()));
		params.add(new Integer(param.getIncidenciaNumero()));
		
		List listaDocumentos = W83aDataBase.executeQuery(strSql.toString(),params,W83aDocBean.class,null, "incidencias");
		
		return listaDocumentos;

	}
/*public java.util.List obtenerRegistrosAuditoria(w83a.w83aBeans.W83aNuevaIncidenciasBean param) throws Exception{
	StringBuffer strSql = new StringBuffer(W83aClsConstantes.CUARENTA);
	List params = new ArrayList();
	
	
	strSql.append("SELECT to_char(");
	strSql.append(W83aIncidenciasAuditoriaBD.FACTU_074).append(",?) as fecha, ");
	strSql.append("  to_char(");
	strSql.append(W83aIncidenciasAuditoriaBD.FACTU_074).append(",?) as hora, ");
	params.add(W83aDateUtil.getInstance().devolverFormatoIdioma(param.getIdioma()));
	params.add(W83aClsConstantes.FORMATO_HORA);
	
	if(W83aClsConstantes.CONSTANTE_CASTELLANO.equals(param.getIdioma())){
		strSql.append(W83aIncidenciasAuditoriaBD.DESC_CAS_074).append(" as ").append(W83aIncidenciasAuditoriaBD.DESC_CAS_074).append(", ");
	}else{
		strSql.append(W83aIncidenciasAuditoriaBD.DESC_EUS_074).append(" as ").append(W83aIncidenciasAuditoriaBD.DESC_CAS_074).append(", ");			
	}
	strSql.append(W83aIncidenciasAuditoriaBD.USUA_074).append(" ");
	
	
	strSql.append(" FROM ").append(W83aIncidenciasAuditoriaBD.incidenciasAuditoriaSinonimo);
	
	strSql.append(" WHERE ").append(W83aIncidenciasAuditoriaBD.ANO_INCID_074).append(" = ? ");
	strSql.append(" AND ").append(W83aIncidenciasAuditoriaBD.C_TERRIT_074).append(" = ? ");
	strSql.append(" AND ").append(W83aIncidenciasAuditoriaBD.N_INCID_074).append(" = ? ");
	strSql.append(" order by ").append(W83aIncidenciasAuditoriaBD.FACTU_074).append(" asc");
	
	params.add(param.getIncidenciaAnyo());		
	params.add(param.getIncidenciaTerritorio());		
	params.add(param.getIncidenciaNumero());		
	
	
	List listaAuditoria = W83aDataBase.executeQuery(strSql.toString(),params,W83aHistorialIncidenciaBean.class,null, null);

	return listaAuditoria;
}*/	
/*public java.util.List obtenerRegistrosTramitacion(w83a.w83aBeans.W83aNuevaIncidenciasBean param) throws Exception{
	StringBuffer strSql = new StringBuffer(W83aClsConstantes.CUARENTA);
	List params = new ArrayList();
	strSql.append("SELECT ");
	strSql.append(W83aIncidenciasHistorialBD.cod_fase);
	strSql.append(", ");
	if(W83aClsConstantes.CONSTANTE_CASTELLANO.equals(param.getIdioma())){
		strSql.append(W83aIncidenciasHistorialBD.desc_fase).append(" as ").append(W83aIncidenciasHistorialBD.desc_fase).append(", ");
	}else{
		strSql.append(W83aIncidenciasHistorialBD.dese_fase).append(" as ").append(W83aIncidenciasHistorialBD.desc_fase).append(", ");			
	}
	strSql.append(W83aIncidenciasHistorialBD.cod_tramite);
	strSql.append(", ");
	if(W83aClsConstantes.CONSTANTE_CASTELLANO.equals(param.getIdioma())){
		strSql.append(W83aIncidenciasHistorialBD.desc_tramite).append(" as ").append(W83aIncidenciasHistorialBD.desc_tramite).append(", ");
	}else{
		strSql.append(W83aIncidenciasHistorialBD.dese_tramite).append(" as ").append(W83aIncidenciasHistorialBD.desc_tramite).append(", ");			
	}
	strSql.append(W83aIncidenciasHistorialBD.usu_alta).append(", ");
	strSql.append(W83aIncidenciasHistorialBD.usu_mod).append(", ");
	strSql.append("to_char(");
	strSql.append(W83aIncidenciasHistorialBD.f_actu_tramite).append(",?) as ").append(W83aIncidenciasHistorialBD.f_actu_tramite);
	strSql.append(", ");
	strSql.append("to_char(");
	strSql.append(W83aIncidenciasHistorialBD.fecha_mod).append(",?) as ").append(W83aIncidenciasHistorialBD.fecha_mod);
	strSql.append(", to_char(");
	strSql.append(W83aIncidenciasHistorialBD.f_tramite).append(",?) as ").append(W83aIncidenciasHistorialBD.f_tramite);
	
//	strSql.append(", ");
	params.add(W83aDateUtil.getInstance().devolverFormatoIdioma(param.getIdioma()));
	params.add(W83aDateUtil.getInstance().devolverFormatoIdioma(param.getIdioma()));
	params.add(W83aDateUtil.getInstance().devolverFormatoIdioma(param.getIdioma()));
	
	strSql.append(" FROM ").append(W83aIncidenciasHistorialBD.incidenciasHistorialVista);
	
	strSql.append(" WHERE ").append(W83aIncidenciasHistorialBD.ano_incidencia).append(" = ? ");
	strSql.append(" AND ").append(W83aIncidenciasHistorialBD.cod_territorio).append(" = ? ");
	strSql.append(" AND ").append(W83aIncidenciasHistorialBD.numincidencia).append(" = ? ");
	params.add(param.getIncidenciaAnyo());		
	params.add(param.getIncidenciaTerritorio());		
	params.add(param.getIncidenciaNumero());		
	
	
	List listaAuditoria = W83aDataBase.executeQuery(strSql.toString(),params,W83aTramiteIncidenciaBean.class,null, null);
	
	return listaAuditoria;
}*/
public java.util.List buscarDetalleDelegadoIncidencias(w83a.w83aBeans.W83aDelegadosBean param,boolean bajaVersionAnterior) throws Exception{
	StringBuffer strSql = new StringBuffer(W83aClsConstantes.CUARENTA);
	List params = new ArrayList();
	//IDENTIFICAR USUARIO
	//W83aDataBase.identificarUsuarioAuditor(param.getUsuarioBean().getIdUsuario());
	
	strSql.append("SELECT ");
	strSql.append(W83aDelegadosBD.acta).append(", ");
	strSql.append(W83aDelegadosBD.anyoActa).append(", ");
	strSql.append(W83aDelegadosBD.apellido1).append(", ");
	strSql.append(W83aDelegadosBD.apellido2).append(", ");
	strSql.append(W83aDelegadosBD.baja).append(", ");
	strSql.append(W83aDelegadosBD.codColegio).append(", ");
	
	strSql.append(W83aDelegadosBD.codSindicato).append(", ");
	
	if(W83aClsConstantes.CONSTANTE_CASTELLANO.equals(param.getIdioma())){
		strSql.append(W83aSindicatosBD.descSindicatoCast).append(" as ").append(W83aSindicatosBD.descSindicatoCast).append(", ");
	}else{
		strSql.append(W83aSindicatosBD.descSindicatoEusk).append(" as ").append(W83aSindicatosBD.descSindicatoCast).append(", ");			
	}
	strSql.append(W83aSindicatosBD.siglas).append(" as ").append(W83aSindicatosBD.siglas).append(", ");			
	strSql.append(W83aDelegadosBD.dni).append(", ");
	strSql.append(W83aDelegadosBD.dniSustituto).append(", to_char(");
	strSql.append(W83aDelegadosBD.fechaAlta).append(",?) as ").append(W83aDelegadosBD.fechaAlta);
	strSql.append(",to_char(");
	params.add(W83aDateUtil.getInstance().devolverFormatoIdioma(param.getIdioma()));
	strSql.append(W83aDelegadosBD.fechaBaja).append(",?) as ").append(W83aDelegadosBD.fechaBaja);
	strSql.append(",to_char(");
	params.add(W83aDateUtil.getInstance().devolverFormatoIdioma(param.getIdioma()));
	strSql.append(W83aDelegadosBD.fechaMod).append(",?) as ").append(W83aDelegadosBD.fechaMod);
	strSql.append(",");
	params.add(W83aDateUtil.getInstance().devolverFormatoHoraIdiomaInsert(param.getIdioma()));
	strSql.append(W83aDelegadosBD.nombre).append(", ");
	strSql.append(W83aDelegadosBD.sexo).append(", ");
	strSql.append(W83aDelegadosBD.territorioActa).append(", ");
	strSql.append(W83aDelegadosBD.usuario).append(", ");
	strSql.append(W83aDelegadosBD.versionActa);
	
	strSql.append(" FROM ").append(W83aDelegadosBD.delegadosVista);
	strSql.append(",  ").append(W83aSindicatosBD.sindicatosVista);
	
	strSql.append(" WHERE ");
	if(!bajaVersionAnterior){
		strSql.append(W83aDelegadosBD.dni).append(" = ? ");
		strSql.append(" AND ");
	}else{
		strSql.append(W83aDelegadosBD.baja).append(" is not null ");
		strSql.append(" AND ");			
	}
	strSql.append(W83aDelegadosBD.territorioActa).append(" = ? ");
	strSql.append(" AND ").append(W83aDelegadosBD.anyoActa).append(" = ? ");
	strSql.append(" AND ").append(W83aDelegadosBD.acta).append(" = ? ");
	strSql.append(" AND ").append(W83aDelegadosBD.versionActa).append(" = ? ");
	strSql.append(" AND ").append(W83aDelegadosBD.codSindicato).append(" =  ");
	strSql.append(" ").append(W83aSindicatosBD.codSindicato);
	strSql.append(" AND ").append(W83aDelegadosBD.fechaMod).append(" =  ");
	strSql.append("(SELECT max(");
	strSql.append(W83aDelegadosBD.fechaMod).append(") ");
	strSql.append(" FROM ").append(W83aDelegadosBD.delegadosVista);
	strSql.append(",  ").append(W83aSindicatosBD.sindicatosVista);
	
	strSql.append(" WHERE ");
	if(!bajaVersionAnterior){
		strSql.append(W83aDelegadosBD.dni).append(" = ? ");
		strSql.append(" AND ");
	}else{
		strSql.append(W83aDelegadosBD.baja).append(" is not null ");
		strSql.append(" AND ");			
	}
	strSql.append(W83aDelegadosBD.territorioActa).append(" = ? ");
	strSql.append(" AND ").append(W83aDelegadosBD.anyoActa).append(" = ? ");
	strSql.append(" AND ").append(W83aDelegadosBD.acta).append(" = ? ");
	strSql.append(" AND ").append(W83aDelegadosBD.versionActa).append(" = ? )");
	
	if(!bajaVersionAnterior){
		params.add(param.getDniDelegado());
	}
	params.add(param.getActaTerritorio());		
	params.add(new Integer(param.getActaAnyo()));		
	params.add(new Integer(param.getActaNum()));		
	if(!bajaVersionAnterior){
		params.add(new Integer(param.getActaVersion()));
	}else{
		
		params.add(new Integer(Integer.parseInt(param.getActaVersion())));			
	}
	if(!bajaVersionAnterior){
		params.add(param.getDniDelegado());
	}
	params.add(param.getActaTerritorio());		
	params.add(new Integer(param.getActaAnyo()));		
	params.add(new Integer(param.getActaNum()));		
	if(!bajaVersionAnterior){
		params.add(new Integer(param.getActaVersion()));
	}else{
		
		params.add(new Integer(Integer.parseInt(param.getActaVersion())));			
	}
	
	
	List listaDelegados = W83aDataBase.executeQuery(strSql.toString(),params,W83aDelegadosBean.class,null, "detalleDelegado");
	//TERMINAR USUARIO
	//W83aDataBase.terminarUsuarioAuditor();
	return listaDelegados;
}
public List obtenerDelegadosSustitucion(W83aNuevaIncidenciasBean incidencia) throws Exception{
	StringBuffer strSql = new StringBuffer(W83aClsConstantes.CUARENTA);
	List params = new ArrayList();
	
	strSql.append("SELECT ");
	strSql.append(W83aIncidenciasTipoSustitucionBD.DNI_SUSTITUTO_067);
	strSql.append(", ");
	strSql.append(W83aIncidenciasTipoSustitucionBD.DNI_SUTITUIDO_067);
	
	strSql.append(" FROM ").append(W83aIncidenciasTipoSustitucionBD.incidenciasTipoSustitucionSinonimo);
	
	strSql.append(" WHERE ").append(W83aIncidenciasTipoSustitucionBD.ANO_INCID_067).append(" = ? ");
	params.add(new Integer(incidencia.getIncidenciaAnyo()));		
	strSql.append(" AND ").append(W83aIncidenciasTipoSustitucionBD.N_INCID_067).append(" = ? ");
	params.add(new Integer(incidencia.getIncidenciaNumero()));		
	strSql.append(" AND ").append(W83aIncidenciasTipoSustitucionBD.C_TERRIT_067).append(" = ? ");
	params.add(incidencia.getIncidenciaTerritorio());		
	
	
	return W83aDataBase.executeQuery(strSql.toString(),params,incidencia.getUsuarioBean());		
}
public W83aDocBean descargarDocumento(String param) throws Exception {
	
	StringBuffer strSql = new StringBuffer(W83aClsConstantes.CUARENTA);
	List params = new ArrayList();
	
	strSql.append("SELECT ");
	strSql.append(W83aIncidenciasDocsBD.NOMB_DOCU_064).append(",");
	strSql.append(W83aIncidenciasDocsBD.LONG_DOCU_064).append(",");
	strSql.append(W83aIncidenciasDocsBD.FICHERO_064);
	strSql.append(" FROM ").append(W83aIncidenciasDocsBD.docsIncidenciasSinonimo);
	//TODO cambiar por id_doc_037
	strSql.append(" WHERE ").append(W83aIncidenciasDocsBD.ID_DOC_064).append(" = ?");
	
	params.add(param);		
	
	List listaDocumentos = W83aDataBase.executeQuery(strSql.toString(),params,W83aDocBean.class,null, "incidencias");
	
	if (listaDocumentos.size()>0)
		return (W83aDocBean)listaDocumentos.get(0);
	else
		throw new Exception("No existe ese documento");
}



// insertado por ana

/* (non-Javadoc)
 * @see w83b.w83bDAO.W83bIMantenimientosDAO#detalleIncidencias(w83b.w83bBeans.W83bNuevaIncidenciasBean)
 */
public java.util.List obtenerCambiosSubsanacionIncidencias(w83a.w83aBeans.W83aNuevaIncidenciasBean param) throws Exception{
	StringBuffer strSql = new StringBuffer(W83aClsConstantes.CUARENTA);//NOPMD
	List params = new ArrayList();
	
	strSql.append("SELECT t66.");
	strSql.append(W83aSubsanacionesBD.N_INCID_066).append(", t66.");
	strSql.append(W83aSubsanacionesBD.ANO_INCID_066).append(", t66.");
	strSql.append(W83aSubsanacionesBD.VALOR_ANT_066).append(", t66.");
	strSql.append(W83aSubsanacionesBD.VALOR_ACTUAL_066).append(", t66.");
	strSql.append(W83aSubsanacionesBD.C_TERRIT_066).append(", upper(t65.");		    
	
	if(W83aClsConstantes.CONSTANTE_CASTELLANO.equals(param.getIdioma())){
		strSql.append(" ").append(W83aMigracionBD.nomCampo065).append(") as ").append(W83aMigracionBD.nomCampo065);
	}else{
		strSql.append(" ").append(W83aMigracionBD.nomCampoE065).append(") as ").append(W83aMigracionBD.nomCampo065);
	}
	strSql.append(" FROM ").append(W83aSubsanacionesBD.table);
	strSql.append(" t66, ").append(W83aMigracionBD.tabla65).append(" t65 ");
	
	strSql.append(" WHERE ");
	
	//NÚMERO DE INCIDENCIA
	strSql.append(" t66.").append(W83aSubsanacionesBD.COD_CAMPO_066).append(" = ");
	strSql.append(" t65.").append(W83aMigracionBD.codCampo065);
	strSql.append(" and ");
	strSql.append(" t66.").append(W83aSubsanacionesBD.C_TERRIT_066).append(" = ?");
	params.add(param.getIncidenciaTerritorio());
	strSql.append(" and ");
	strSql.append(" t66.").append(W83aSubsanacionesBD.ANO_INCID_066).append(" = ?");
	strSql.append(" and ");
	params.add(Integer.valueOf(param.getIncidenciaAnyo()));
	strSql.append(" t66.").append(W83aSubsanacionesBD.N_INCID_066).append(" = ?");
	params.add(Integer.valueOf(param.getIncidenciaNumero()));
	//fin NÚMERO DE INCIDENCIA
	
	
	return W83aDataBase.executeQuery(strSql.toString(),params,W83aIncidenciasSubsanacionCambioBean.class,param.getUsuarioBean(), param.getIdioma());
}

// fin de insertado por ana
}
